/*
 * XML Type:  FlabotFileModel
 * Namespace: http:///org/isistan/flabot/edit/editormodel.ecore
 * Java type: org.isistan.flabot.edit.editormodelEcore.FlabotFileModel
 *
 * Automatically generated - do not modify.
 */
package org.isistan.flabot.edit.editormodelEcore.impl;
/**
 * An XML FlabotFileModel(@http:///org/isistan/flabot/edit/editormodel.ecore).
 *
 * This is a complex type.
 */
public class FlabotFileModelImpl extends org.isistan.flabot.coremodelEcore.impl.ExtensibleElementImpl implements org.isistan.flabot.edit.editormodelEcore.FlabotFileModel
{
    private static final long serialVersionUID = 1L;
    
    public FlabotFileModelImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName COREMODEL$0 = 
        new javax.xml.namespace.QName("", "coreModel");
    private static final javax.xml.namespace.QName DIAGRAMS$2 = 
        new javax.xml.namespace.QName("", "diagrams");
    private static final javax.xml.namespace.QName IMPORTEDFILES$4 = 
        new javax.xml.namespace.QName("", "importedFiles");
    private static final javax.xml.namespace.QName FOLDER$6 = 
        new javax.xml.namespace.QName("", "folder");
    private static final javax.xml.namespace.QName OPENDIAGRAMS$8 = 
        new javax.xml.namespace.QName("", "openDiagrams");
    private static final javax.xml.namespace.QName COREMODEL2$10 = 
        new javax.xml.namespace.QName("", "coreModel");
    private static final javax.xml.namespace.QName FOLDER2$12 = 
        new javax.xml.namespace.QName("", "folder");
    private static final javax.xml.namespace.QName ID2$14 = 
        new javax.xml.namespace.QName("", "id");
    private static final javax.xml.namespace.QName VERSION2$16 = 
        new javax.xml.namespace.QName("", "version");
    private static final javax.xml.namespace.QName NAME$18 = 
        new javax.xml.namespace.QName("", "name");
    private static final javax.xml.namespace.QName PROVIDER$20 = 
        new javax.xml.namespace.QName("", "provider");
    private static final javax.xml.namespace.QName OPENDIAGRAMS2$22 = 
        new javax.xml.namespace.QName("", "openDiagrams");
    
    
    /**
     * Gets array of all "coreModel" elements
     */
    public org.isistan.flabot.coremodelEcore.CoreModel[] getCoreModelArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(COREMODEL2$10, targetList);
            org.isistan.flabot.coremodelEcore.CoreModel[] result = new org.isistan.flabot.coremodelEcore.CoreModel[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "coreModel" element
     */
    public org.isistan.flabot.coremodelEcore.CoreModel getCoreModelArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.CoreModel target = null;
            target = (org.isistan.flabot.coremodelEcore.CoreModel)get_store().find_element_user(COREMODEL2$10, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "coreModel" element
     */
    public int sizeOfCoreModelArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(COREMODEL2$10);
        }
    }
    
    /**
     * Sets array of all "coreModel" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setCoreModelArray(org.isistan.flabot.coremodelEcore.CoreModel[] coreModelArray)
    {
        check_orphaned();
        arraySetterHelper(coreModelArray, COREMODEL2$10);
    }
    
    /**
     * Sets ith "coreModel" element
     */
    public void setCoreModelArray(int i, org.isistan.flabot.coremodelEcore.CoreModel coreModel)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.CoreModel target = null;
            target = (org.isistan.flabot.coremodelEcore.CoreModel)get_store().find_element_user(COREMODEL2$10, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(coreModel);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "coreModel" element
     */
    public org.isistan.flabot.coremodelEcore.CoreModel insertNewCoreModel(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.CoreModel target = null;
            target = (org.isistan.flabot.coremodelEcore.CoreModel)get_store().insert_element_user(COREMODEL2$10, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "coreModel" element
     */
    public org.isistan.flabot.coremodelEcore.CoreModel addNewCoreModel()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.CoreModel target = null;
            target = (org.isistan.flabot.coremodelEcore.CoreModel)get_store().add_element_user(COREMODEL2$10);
            return target;
        }
    }
    
    /**
     * Removes the ith "coreModel" element
     */
    public void removeCoreModel(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(COREMODEL2$10, i);
        }
    }
    
    /**
     * Gets array of all "diagrams" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.Diagram[] getDiagramsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(DIAGRAMS$2, targetList);
            org.isistan.flabot.edit.editormodelEcore.Diagram[] result = new org.isistan.flabot.edit.editormodelEcore.Diagram[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "diagrams" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Diagram getDiagramsArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Diagram target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Diagram)get_store().find_element_user(DIAGRAMS$2, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "diagrams" element
     */
    public int sizeOfDiagramsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(DIAGRAMS$2);
        }
    }
    
    /**
     * Sets array of all "diagrams" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setDiagramsArray(org.isistan.flabot.edit.editormodelEcore.Diagram[] diagramsArray)
    {
        check_orphaned();
        arraySetterHelper(diagramsArray, DIAGRAMS$2);
    }
    
    /**
     * Sets ith "diagrams" element
     */
    public void setDiagramsArray(int i, org.isistan.flabot.edit.editormodelEcore.Diagram diagrams)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Diagram target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Diagram)get_store().find_element_user(DIAGRAMS$2, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(diagrams);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "diagrams" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Diagram insertNewDiagrams(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Diagram target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Diagram)get_store().insert_element_user(DIAGRAMS$2, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "diagrams" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Diagram addNewDiagrams()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Diagram target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Diagram)get_store().add_element_user(DIAGRAMS$2);
            return target;
        }
    }
    
    /**
     * Removes the ith "diagrams" element
     */
    public void removeDiagrams(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(DIAGRAMS$2, i);
        }
    }
    
    /**
     * Gets array of all "importedFiles" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.FlabotFileModel[] getImportedFilesArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(IMPORTEDFILES$4, targetList);
            org.isistan.flabot.edit.editormodelEcore.FlabotFileModel[] result = new org.isistan.flabot.edit.editormodelEcore.FlabotFileModel[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "importedFiles" element
     */
    public org.isistan.flabot.edit.editormodelEcore.FlabotFileModel getImportedFilesArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.FlabotFileModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.FlabotFileModel)get_store().find_element_user(IMPORTEDFILES$4, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "importedFiles" element
     */
    public int sizeOfImportedFilesArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(IMPORTEDFILES$4);
        }
    }
    
    /**
     * Sets array of all "importedFiles" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setImportedFilesArray(org.isistan.flabot.edit.editormodelEcore.FlabotFileModel[] importedFilesArray)
    {
        check_orphaned();
        arraySetterHelper(importedFilesArray, IMPORTEDFILES$4);
    }
    
    /**
     * Sets ith "importedFiles" element
     */
    public void setImportedFilesArray(int i, org.isistan.flabot.edit.editormodelEcore.FlabotFileModel importedFiles)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.FlabotFileModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.FlabotFileModel)get_store().find_element_user(IMPORTEDFILES$4, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(importedFiles);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "importedFiles" element
     */
    public org.isistan.flabot.edit.editormodelEcore.FlabotFileModel insertNewImportedFiles(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.FlabotFileModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.FlabotFileModel)get_store().insert_element_user(IMPORTEDFILES$4, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "importedFiles" element
     */
    public org.isistan.flabot.edit.editormodelEcore.FlabotFileModel addNewImportedFiles()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.FlabotFileModel target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.FlabotFileModel)get_store().add_element_user(IMPORTEDFILES$4);
            return target;
        }
    }
    
    /**
     * Removes the ith "importedFiles" element
     */
    public void removeImportedFiles(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(IMPORTEDFILES$4, i);
        }
    }
    
    /**
     * Gets array of all "folder" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.Folder[] getFolderArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(FOLDER2$12, targetList);
            org.isistan.flabot.edit.editormodelEcore.Folder[] result = new org.isistan.flabot.edit.editormodelEcore.Folder[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "folder" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Folder getFolderArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Folder target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Folder)get_store().find_element_user(FOLDER2$12, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "folder" element
     */
    public int sizeOfFolderArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(FOLDER2$12);
        }
    }
    
    /**
     * Sets array of all "folder" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setFolderArray(org.isistan.flabot.edit.editormodelEcore.Folder[] folderArray)
    {
        check_orphaned();
        arraySetterHelper(folderArray, FOLDER2$12);
    }
    
    /**
     * Sets ith "folder" element
     */
    public void setFolderArray(int i, org.isistan.flabot.edit.editormodelEcore.Folder folder)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Folder target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Folder)get_store().find_element_user(FOLDER2$12, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(folder);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "folder" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Folder insertNewFolder(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Folder target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Folder)get_store().insert_element_user(FOLDER2$12, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "folder" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Folder addNewFolder()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Folder target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Folder)get_store().add_element_user(FOLDER2$12);
            return target;
        }
    }
    
    /**
     * Removes the ith "folder" element
     */
    public void removeFolder(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(FOLDER2$12, i);
        }
    }
    
    /**
     * Gets array of all "openDiagrams" elements
     */
    public org.isistan.flabot.edit.editormodelEcore.Diagram[] getOpenDiagramsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(OPENDIAGRAMS2$22, targetList);
            org.isistan.flabot.edit.editormodelEcore.Diagram[] result = new org.isistan.flabot.edit.editormodelEcore.Diagram[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "openDiagrams" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Diagram getOpenDiagramsArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Diagram target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Diagram)get_store().find_element_user(OPENDIAGRAMS2$22, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "openDiagrams" element
     */
    public int sizeOfOpenDiagramsArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(OPENDIAGRAMS2$22);
        }
    }
    
    /**
     * Sets array of all "openDiagrams" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setOpenDiagramsArray(org.isistan.flabot.edit.editormodelEcore.Diagram[] openDiagramsArray)
    {
        check_orphaned();
        arraySetterHelper(openDiagramsArray, OPENDIAGRAMS2$22);
    }
    
    /**
     * Sets ith "openDiagrams" element
     */
    public void setOpenDiagramsArray(int i, org.isistan.flabot.edit.editormodelEcore.Diagram openDiagrams)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Diagram target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Diagram)get_store().find_element_user(OPENDIAGRAMS2$22, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(openDiagrams);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "openDiagrams" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Diagram insertNewOpenDiagrams(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Diagram target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Diagram)get_store().insert_element_user(OPENDIAGRAMS2$22, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "openDiagrams" element
     */
    public org.isistan.flabot.edit.editormodelEcore.Diagram addNewOpenDiagrams()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.edit.editormodelEcore.Diagram target = null;
            target = (org.isistan.flabot.edit.editormodelEcore.Diagram)get_store().add_element_user(OPENDIAGRAMS2$22);
            return target;
        }
    }
    
    /**
     * Removes the ith "openDiagrams" element
     */
    public void removeOpenDiagrams(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(OPENDIAGRAMS2$22, i);
        }
    }
    
    /**
     * Gets the "coreModel" attribute
     */
    public java.lang.String getCoreModel2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(COREMODEL2$10);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "coreModel" attribute
     */
    public org.apache.xmlbeans.XmlString xgetCoreModel2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(COREMODEL2$10);
            return target;
        }
    }
    
    /**
     * True if has "coreModel" attribute
     */
    public boolean isSetCoreModel2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(COREMODEL2$10) != null;
        }
    }
    
    /**
     * Sets the "coreModel" attribute
     */
    public void setCoreModel2(java.lang.String coreModel2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(COREMODEL2$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(COREMODEL2$10);
            }
            target.setStringValue(coreModel2);
        }
    }
    
    /**
     * Sets (as xml) the "coreModel" attribute
     */
    public void xsetCoreModel2(org.apache.xmlbeans.XmlString coreModel2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(COREMODEL2$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(COREMODEL2$10);
            }
            target.set(coreModel2);
        }
    }
    
    /**
     * Unsets the "coreModel" attribute
     */
    public void unsetCoreModel2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(COREMODEL2$10);
        }
    }
    
    /**
     * Gets the "folder" attribute
     */
    public java.lang.String getFolder2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FOLDER2$12);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "folder" attribute
     */
    public org.apache.xmlbeans.XmlString xgetFolder2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FOLDER2$12);
            return target;
        }
    }
    
    /**
     * True if has "folder" attribute
     */
    public boolean isSetFolder2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(FOLDER2$12) != null;
        }
    }
    
    /**
     * Sets the "folder" attribute
     */
    public void setFolder2(java.lang.String folder2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FOLDER2$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(FOLDER2$12);
            }
            target.setStringValue(folder2);
        }
    }
    
    /**
     * Sets (as xml) the "folder" attribute
     */
    public void xsetFolder2(org.apache.xmlbeans.XmlString folder2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FOLDER2$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(FOLDER2$12);
            }
            target.set(folder2);
        }
    }
    
    /**
     * Unsets the "folder" attribute
     */
    public void unsetFolder2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(FOLDER2$12);
        }
    }
    
    /**
     * Gets the "id" attribute
     */
    public java.lang.String getId2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID2$14);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "id" attribute
     */
    public org.apache.xmlbeans.XmlString xgetId2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(ID2$14);
            return target;
        }
    }
    
    /**
     * True if has "id" attribute
     */
    public boolean isSetId2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(ID2$14) != null;
        }
    }
    
    /**
     * Sets the "id" attribute
     */
    public void setId2(java.lang.String id2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ID2$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ID2$14);
            }
            target.setStringValue(id2);
        }
    }
    
    /**
     * Sets (as xml) the "id" attribute
     */
    public void xsetId2(org.apache.xmlbeans.XmlString id2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(ID2$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(ID2$14);
            }
            target.set(id2);
        }
    }
    
    /**
     * Unsets the "id" attribute
     */
    public void unsetId2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(ID2$14);
        }
    }
    
    /**
     * Gets the "version" attribute
     */
    public java.lang.String getVersion2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VERSION2$16);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "version" attribute
     */
    public org.apache.xmlbeans.XmlString xgetVersion2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VERSION2$16);
            return target;
        }
    }
    
    /**
     * True if has "version" attribute
     */
    public boolean isSetVersion2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(VERSION2$16) != null;
        }
    }
    
    /**
     * Sets the "version" attribute
     */
    public void setVersion2(java.lang.String version2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VERSION2$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(VERSION2$16);
            }
            target.setStringValue(version2);
        }
    }
    
    /**
     * Sets (as xml) the "version" attribute
     */
    public void xsetVersion2(org.apache.xmlbeans.XmlString version2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VERSION2$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(VERSION2$16);
            }
            target.set(version2);
        }
    }
    
    /**
     * Unsets the "version" attribute
     */
    public void unsetVersion2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(VERSION2$16);
        }
    }
    
    /**
     * Gets the "name" attribute
     */
    public java.lang.String getName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NAME$18);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "name" attribute
     */
    public org.apache.xmlbeans.XmlString xgetName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(NAME$18);
            return target;
        }
    }
    
    /**
     * True if has "name" attribute
     */
    public boolean isSetName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(NAME$18) != null;
        }
    }
    
    /**
     * Sets the "name" attribute
     */
    public void setName(java.lang.String name)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(NAME$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(NAME$18);
            }
            target.setStringValue(name);
        }
    }
    
    /**
     * Sets (as xml) the "name" attribute
     */
    public void xsetName(org.apache.xmlbeans.XmlString name)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(NAME$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(NAME$18);
            }
            target.set(name);
        }
    }
    
    /**
     * Unsets the "name" attribute
     */
    public void unsetName()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(NAME$18);
        }
    }
    
    /**
     * Gets the "provider" attribute
     */
    public java.lang.String getProvider()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(PROVIDER$20);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "provider" attribute
     */
    public org.apache.xmlbeans.XmlString xgetProvider()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(PROVIDER$20);
            return target;
        }
    }
    
    /**
     * True if has "provider" attribute
     */
    public boolean isSetProvider()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(PROVIDER$20) != null;
        }
    }
    
    /**
     * Sets the "provider" attribute
     */
    public void setProvider(java.lang.String provider)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(PROVIDER$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(PROVIDER$20);
            }
            target.setStringValue(provider);
        }
    }
    
    /**
     * Sets (as xml) the "provider" attribute
     */
    public void xsetProvider(org.apache.xmlbeans.XmlString provider)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(PROVIDER$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(PROVIDER$20);
            }
            target.set(provider);
        }
    }
    
    /**
     * Unsets the "provider" attribute
     */
    public void unsetProvider()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(PROVIDER$20);
        }
    }
    
    /**
     * Gets the "openDiagrams" attribute
     */
    public java.lang.String getOpenDiagrams2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OPENDIAGRAMS2$22);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "openDiagrams" attribute
     */
    public org.apache.xmlbeans.XmlString xgetOpenDiagrams2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(OPENDIAGRAMS2$22);
            return target;
        }
    }
    
    /**
     * True if has "openDiagrams" attribute
     */
    public boolean isSetOpenDiagrams2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(OPENDIAGRAMS2$22) != null;
        }
    }
    
    /**
     * Sets the "openDiagrams" attribute
     */
    public void setOpenDiagrams2(java.lang.String openDiagrams2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(OPENDIAGRAMS2$22);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(OPENDIAGRAMS2$22);
            }
            target.setStringValue(openDiagrams2);
        }
    }
    
    /**
     * Sets (as xml) the "openDiagrams" attribute
     */
    public void xsetOpenDiagrams2(org.apache.xmlbeans.XmlString openDiagrams2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(OPENDIAGRAMS2$22);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(OPENDIAGRAMS2$22);
            }
            target.set(openDiagrams2);
        }
    }
    
    /**
     * Unsets the "openDiagrams" attribute
     */
    public void unsetOpenDiagrams2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(OPENDIAGRAMS2$22);
        }
    }
}
